home *** CD-ROM | disk | FTP | other *** search
- .386
- .model tiny
- code segment 'code' public use16
- assume cs:code,ds:code
- org 100h
- start:
- mov ah,09h
- mov dx,offset messy1
- int 21h
- mov ah,0ah
- mov dx,offset nm
- int 21h
- mov cl,byte ptr nm+1
- cmp cl,4
- jae oki
- mov ah,09h
- mov dx,offset errror
- int 21h
- ret
- oki:
- movzx ecx,cl
- mov si,offset nm+2
- xor ebx,ebx
- xor ebp,ebp
- l1:
- lodsb
- movzx eax,al
- add ebx,eax
- xor al,byte ptr nm+1
- add ebp,eax
- xor al,byte ptr nm+1
- loop l1
- movzx ecx,byte ptr nm+1
- mov edx,ebx
- imul edx,ebx
- imul ebx,ecx
- add ebx,ebp
- add ebx,edx
- mov di,offset messy1
- push di
- call convert
- mov al,'$'
- stosb
- pop di
- mov ebx,edx
- imul ebx,2dh
- mov ah,09h
- mov dx,offset messy2
- int 21h
- mov dx,di
- int 21h
- mov ah,09h
- mov dx,offset messy3
- int 21h
- mov cx,4
- mov si,offset nm+2
- l4:
- lodsb
- mov ah,02h
- mov dl,al
- int 21h
- loop l4
- mov dl,'-'
- int 21h
- mov ah,09h
- mov dx,di
- int 21h
-
- mov di,offset messy2
- std
- mov eax,'1$X-'
- mov [di+1],eax
- call convert
- mov al,'-'
- stosb
- cld
- mov ah,09h
- inc di
- mov dx,di
- int 21h
- ret
-
- convert proc near
- xor edx,edx
- l2:
- or ebx,ebx
- je l3
- mov al,bl
- and al,0fh
- cmp al,0ah
- jb ok
- notok:
- sub al,4
- cmp al,0ah
- jae notok
- ok:
- add al,30h
- cnt:
- movzx eax,al
- add edx,eax
- stosb
- shr ebx,4
- jmp l2
- l3:
- ret
- convert endp
-
- messy1 db 13,10,'CoDe_InSiDe''s KeygenMe crackme keygen by nh',13,10
- db ' Your name : $'
- messy2 db 13,10,' Your serial : $'
- messy3 db 13,10,' Your code : $'
- errror db 13,10,'Use a name of 4 chars or more...$'
- nm dw 20h
-
- code ends
- end start
- end
-